/* print.css - Guardian Risk Professional Layout v34 */
@media print {
    /* CLEAN CANVAS */
    body { margin: 0; padding: 0; background: white; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    @page { size: A4; margin: 0; }
    
    /* HIDE APP UI */
    #ui-wrapper, #view-landing, #view-setup, .no-print { display: none !important; }
    #print-target { display: block !important; }

    /* --- PAGE CONTAINER --- */
    .p-page {
        width: 210mm;
        height: 296mm; /* Exact A4 Height */
        position: relative;
        overflow: hidden; /* ZERO SPILLOVER */
        page-break-after: always !important;
        break-after: page !important;
        display: flex;
        flex-direction: column;
        background: white;
        padding: 15mm;
        box-sizing: border-box;
    }

    .print-break { display: block; page-break-before: always; height: 1px; width: 100%; clear: both; }

    /* --- COVER PAGE --- */
    .cover { justify-content: center; align-items: center; border-left: 20mm solid #0f172a !important; background: #f8fafc !important; }

    /* --- DASHBOARD REDESIGN (GROK STYLE SPLIT) --- */
    .dash-layout {
        display: flex;
        height: 100%;
        margin-top: 20px;
    }

    .dash-sidebar {
        width: 30%;
        padding-right: 20px;
        border-right: 1px solid #e2e8f0;
        display: flex;
        flex-direction: column;
        gap: 40px;
    }

    .dash-main {
        width: 70%;
        padding-left: 30px;
        display: flex;
        flex-direction: column;
    }

    .metric-item { margin-bottom: 20px; }
    
    .metric-title {
        font-family: 'Inter', sans-serif;
        font-size: 8pt;
        font-weight: 900;
        color: #64748b;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 8px;
        display: block;
    }

    .metric-value-lg {
        font-family: 'Oswald', sans-serif;
        font-size: 40pt;
        font-weight: 700;
        color: #0f172a;
        line-height: 1;
    }

    .status-badge {
        font-family: 'Oswald', sans-serif;
        font-size: 18pt;
        font-weight: 700;
        text-transform: uppercase;
    }
    .status-high { color: #e11d48; }
    .status-good { color: #059669; }

    .vuln-text {
        font-family: 'Inter', sans-serif;
        font-size: 11pt;
        font-weight: 700;
        color: #0f172a;
        border-bottom: 2px solid #e11d48;
        display: inline-block;
        padding-bottom: 2px;
    }

    .chart-box {
        width: 100%;
        height: 400px; /* Large Chart */
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 30px;
    }
    
    .print-chart-img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

    .exec-summary {
        background: #f8fafc;
        border-top: 4px solid #0d9488;
        padding: 20px;
    }

    .exec-title {
        font-family: 'Oswald', sans-serif;
        font-size: 12pt;
        color: #0d9488;
        margin-top: 0;
        margin-bottom: 10px;
        text-transform: uppercase;
        font-weight: 700;
    }

    .exec-text {
        font-family: 'Inter', sans-serif;
        font-size: 9pt;
        color: #334155;
        line-height: 1.6;
    }

    .intro-block {
        font-family: 'Inter', sans-serif;
        font-size: 9pt;
        line-height: 1.5;
        color: #475569;
        margin-bottom: 20px;
        padding: 15px;
        background: #f0fdfa;
        border-radius: 6px;
        border-left: 4px solid #0d9488;
    }

    /* --- TYPOGRAPHY --- */
    .oswald { font-family: 'Oswald', sans-serif; text-transform: uppercase; }
    
    .p-header { 
        border-bottom: 2pt solid #0f172a; 
        padding-bottom: 5mm; 
        margin-bottom: 8mm; 
        display: flex; 
        justify-content: space-between; 
        align-items: flex-end; 
    }
    
    .p-title { font-size: 24pt; font-weight: 700; color: #0f172a; margin: 0; line-height: 1; }
    .p-meta { font-size: 8pt; color: #64748b; text-align: right; font-weight: 600; line-height: 1.4; }
    
    /* --- TABLES --- */
    table { width: 100%; border-collapse: collapse; font-size: 8pt; font-family: 'Inter', sans-serif; margin-bottom: 10px; }
    th { background: #0f172a !important; color: white !important; padding: 6px; text-align: left; text-transform: uppercase; font-weight: 600; font-size: 7pt; }
    td { padding: 6px; border-bottom: 1px solid #e2e8f0; vertical-align: top; color: #334155; }
    .p-table-rem th { background: #0d9488 !important; }
    .gap-text { color: #e11d48; font-weight: 600; font-style: italic; }

    /* --- FOOTER --- */
    .p-footer { 
        position: absolute; bottom: 15mm; left: 15mm; right: 15mm;
        padding-top: 10px; border-top: 1pt solid #cbd5e1; display: flex; 
        justify-content: space-between; font-size: 7pt; color: #94a3b8; text-transform: uppercase; font-weight: 700; 
    }
}